/*******************************************************************************
 *
 * Copyright (c) 2001-2006 Primeton Technologies, Ltd.
 * All rights reserved.
 *
 * Created on Apr 11, 2008
 *******************************************************************************/
package com.zhmy.xmgl.zhmytask;

import com.eos.data.sdo.IObjectFactory;

import commonj.sdo.DataObject;
import commonj.sdo.Type;
import commonj.sdo.helper.DataFactory;
import commonj.sdo.helper.TypeHelper;

import java.util.Date;

/**
 * <!-- begin-user-doc -->
 * A representation of the model object '<em><b>Test</b></em>'.
 * <!-- end-user-doc -->
 *
 * <p>
 * The following features are supported:
 * <ul>
 *   <li>{@link com.zhmy.xmgl.zhmytask.ZhmyProject#getProjectId <em>ProjectId</em>}</li>
 *   <li>{@link com.zhmy.xmgl.zhmytask.ZhmyProject#getProjectName <em>ProjectName</em>}</li>
 *   <li>{@link com.zhmy.xmgl.zhmytask.ZhmyProject#getProjectStatus <em>ProjectStatus</em>}</li>
 *   <li>{@link com.zhmy.xmgl.zhmytask.ZhmyProject#getProjectActualTime <em>ProjectActualTime</em>}</li>
 *   <li>{@link com.zhmy.xmgl.zhmytask.ZhmyProject#getProjectPactTime <em>ProjectPactTime</em>}</li>
 *   <li>{@link com.zhmy.xmgl.zhmytask.ZhmyProject#getProjectStartTime <em>ProjectStartTime</em>}</li>
 *   <li>{@link com.zhmy.xmgl.zhmytask.ZhmyProject#getProjectEndTime <em>ProjectEndTime</em>}</li>
 *   <li>{@link com.zhmy.xmgl.zhmytask.ZhmyProject#getProjectNote <em>ProjectNote</em>}</li>
 *   <li>{@link com.zhmy.xmgl.zhmytask.ZhmyProject#getProjectFounder <em>ProjectFounder</em>}</li>
 *   <li>{@link com.zhmy.xmgl.zhmytask.ZhmyProject#getProjectCtime <em>ProjectCtime</em>}</li>
 *   <li>{@link com.zhmy.xmgl.zhmytask.ZhmyProject#getProjectUtime <em>ProjectUtime</em>}</li>
 *   <li>{@link com.zhmy.xmgl.zhmytask.ZhmyProject#getProjectExpectTime <em>ProjectExpectTime</em>}</li>
 *   <li>{@link com.zhmy.xmgl.zhmytask.ZhmyProject#getZhmyCustomer <em>ZhmyCustomer</em>}</li>
 * </ul>
 * </p>
 *
 * @extends DataObject;
 */
public interface ZhmyProject extends DataObject {

	public static final String QNAME = "com.zhmy.xmgl.zhmytask.ZhmyProject";

	public static final Type TYPE = TypeHelper.INSTANCE.getType("com.zhmy.xmgl.zhmytask", "ZhmyProject");

	public static final IObjectFactory<ZhmyProject> FACTORY = new IObjectFactory<ZhmyProject>() {
		public ZhmyProject create() {
			return (ZhmyProject) DataFactory.INSTANCE.create(TYPE);
		}
	};

	/**
	 * Returns the value of the '<em><b>ProjectId</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>ProjectId</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>ProjectId</em>' attribute.
	 * @see #setProjectId(long)
	 */
	public long getProjectId();

	/**
	 * Sets the value of the '{@link com.zhmy.xmgl.zhmytask.ZhmyProject#getProjectId <em>ProjectId</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>ProjectId</em>' attribute.
	 * @see #getProjectId()
	 */
	public void setProjectId(long projectId);

	/**
	 * Returns the value of the '<em><b>ProjectName</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>ProjectName</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>ProjectName</em>' attribute.
	 * @see #setProjectName(java.lang.String)
	 */
	public String getProjectName();

	/**
	 * Sets the value of the '{@link com.zhmy.xmgl.zhmytask.ZhmyProject#getProjectName <em>ProjectName</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>ProjectName</em>' attribute.
	 * @see #getProjectName()
	 */
	public void setProjectName(String projectName);

	/**
	 * Returns the value of the '<em><b>ProjectStatus</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>ProjectStatus</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>ProjectStatus</em>' attribute.
	 * @see #setProjectStatus(long)
	 */
	public long getProjectStatus();

	/**
	 * Sets the value of the '{@link com.zhmy.xmgl.zhmytask.ZhmyProject#getProjectStatus <em>ProjectStatus</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>ProjectStatus</em>' attribute.
	 * @see #getProjectStatus()
	 */
	public void setProjectStatus(long projectStatus);

	/**
	 * Returns the value of the '<em><b>ProjectActualTime</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>ProjectActualTime</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>ProjectActualTime</em>' attribute.
	 * @see #setProjectActualTime(java.util.Date)
	 */
	public Date getProjectActualTime();

	/**
	 * Sets the value of the '{@link com.zhmy.xmgl.zhmytask.ZhmyProject#getProjectActualTime <em>ProjectActualTime</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>ProjectActualTime</em>' attribute.
	 * @see #getProjectActualTime()
	 */
	public void setProjectActualTime(Date projectActualTime);

	/**
	 * Returns the value of the '<em><b>ProjectPactTime</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>ProjectPactTime</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>ProjectPactTime</em>' attribute.
	 * @see #setProjectPactTime(java.util.Date)
	 */
	public Date getProjectPactTime();

	/**
	 * Sets the value of the '{@link com.zhmy.xmgl.zhmytask.ZhmyProject#getProjectPactTime <em>ProjectPactTime</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>ProjectPactTime</em>' attribute.
	 * @see #getProjectPactTime()
	 */
	public void setProjectPactTime(Date projectPactTime);

	/**
	 * Returns the value of the '<em><b>ProjectStartTime</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>ProjectStartTime</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>ProjectStartTime</em>' attribute.
	 * @see #setProjectStartTime(java.util.Date)
	 */
	public Date getProjectStartTime();

	/**
	 * Sets the value of the '{@link com.zhmy.xmgl.zhmytask.ZhmyProject#getProjectStartTime <em>ProjectStartTime</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>ProjectStartTime</em>' attribute.
	 * @see #getProjectStartTime()
	 */
	public void setProjectStartTime(Date projectStartTime);

	/**
	 * Returns the value of the '<em><b>ProjectEndTime</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>ProjectEndTime</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>ProjectEndTime</em>' attribute.
	 * @see #setProjectEndTime(java.util.Date)
	 */
	public Date getProjectEndTime();

	/**
	 * Sets the value of the '{@link com.zhmy.xmgl.zhmytask.ZhmyProject#getProjectEndTime <em>ProjectEndTime</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>ProjectEndTime</em>' attribute.
	 * @see #getProjectEndTime()
	 */
	public void setProjectEndTime(Date projectEndTime);

	/**
	 * Returns the value of the '<em><b>ProjectNote</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>ProjectNote</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>ProjectNote</em>' attribute.
	 * @see #setProjectNote(java.lang.String)
	 */
	public String getProjectNote();

	/**
	 * Sets the value of the '{@link com.zhmy.xmgl.zhmytask.ZhmyProject#getProjectNote <em>ProjectNote</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>ProjectNote</em>' attribute.
	 * @see #getProjectNote()
	 */
	public void setProjectNote(String projectNote);

	/**
	 * Returns the value of the '<em><b>ProjectFounder</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>ProjectFounder</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>ProjectFounder</em>' attribute.
	 * @see #setProjectFounder(java.lang.String)
	 */
	public String getProjectFounder();

	/**
	 * Sets the value of the '{@link com.zhmy.xmgl.zhmytask.ZhmyProject#getProjectFounder <em>ProjectFounder</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>ProjectFounder</em>' attribute.
	 * @see #getProjectFounder()
	 */
	public void setProjectFounder(String projectFounder);

	/**
	 * Returns the value of the '<em><b>ProjectCtime</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>ProjectCtime</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>ProjectCtime</em>' attribute.
	 * @see #setProjectCtime(java.util.Date)
	 */
	public Date getProjectCtime();

	/**
	 * Sets the value of the '{@link com.zhmy.xmgl.zhmytask.ZhmyProject#getProjectCtime <em>ProjectCtime</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>ProjectCtime</em>' attribute.
	 * @see #getProjectCtime()
	 */
	public void setProjectCtime(Date projectCtime);

	/**
	 * Returns the value of the '<em><b>ProjectUtime</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>ProjectUtime</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>ProjectUtime</em>' attribute.
	 * @see #setProjectUtime(java.util.Date)
	 */
	public Date getProjectUtime();

	/**
	 * Sets the value of the '{@link com.zhmy.xmgl.zhmytask.ZhmyProject#getProjectUtime <em>ProjectUtime</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>ProjectUtime</em>' attribute.
	 * @see #getProjectUtime()
	 */
	public void setProjectUtime(Date projectUtime);

	/**
	 * Returns the value of the '<em><b>ProjectExpectTime</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>ProjectExpectTime</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>ProjectExpectTime</em>' attribute.
	 * @see #setProjectExpectTime(java.util.Date)
	 */
	public Date getProjectExpectTime();

	/**
	 * Sets the value of the '{@link com.zhmy.xmgl.zhmytask.ZhmyProject#getProjectExpectTime <em>ProjectExpectTime</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>ProjectExpectTime</em>' attribute.
	 * @see #getProjectExpectTime()
	 */
	public void setProjectExpectTime(Date projectExpectTime);

	/**
	 * Returns the value of the '<em><b>ZhmyCustomer</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>ZhmyCustomer</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>ZhmyCustomer</em>' attribute.
	 * @see #setZhmyCustomer(com.zhmy.xmgl.zhmytask.ZhmyCustomer)
	 */
	public ZhmyCustomer getZhmyCustomer();

	/**
	 * Sets the value of the '{@link com.zhmy.xmgl.zhmytask.ZhmyProject#getZhmyCustomer <em>ZhmyCustomer</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>ZhmyCustomer</em>' attribute.
	 * @see #getZhmyCustomer()
	 */
	public void setZhmyCustomer(ZhmyCustomer zhmyCustomer);


}